The present disclosure relates to a storage controller, where at least one storage device is disposed, and which is provided with plural clusters that control the at least one storage device, to an inter-cluster data communication method and to an inter-cluster communication control program.
The I/O performance of a disk subsystem, which is provided with a hard disk drive (abbreviated below as “HDD”), is three to four digits smaller in comparison to the I/O performance of the primary memory of a computer using a solid-state storage device for a storage medium, and efforts have conventionally been made to reduce this difference, i.e., to improve the I/O performance of the disk subsystem. As one method for improving the I/O performance of a disk subsystem, there is a known system called a disk array which is configured by plural HDDs and in which data is stored in the plural HDDs. In this storage system, an improved I/O performance, high reliability, high availability, and good scalability with respect to the numbers of connectable host computers and HDDs are demanded.
Usually, in order to obtain high reliability, operational checks are conducted during various steps of processing, failures are detected and data consistency is preserved. Also, in order to obtain high availability, HDDs and paths are made redundant. However, increasing the connectable numbers of host computers and HDDs per single disk controller provided for controlling the disk array in order to obtain high scalability leads to an increase in cost.
Thus, technology is known in which a disk controller, whose connectable number that can be realized at a low cost is limited, is used as one cluster and plural clusters are interconnected by an internal network to provide one large-scale disk subsystem. This disk controller is called a clustered disk controller. Such a clustered disk controller is described, for example, in U.S. Pat. No. 6,647,461.
Usually, in a clustered disk controller, the band of the path connecting the clusters is narrow in comparison to the band of the network within one cluster. The technology described in U.S. Pat. No. 6,647,461 provides a network that transfers data to be stored in a cache memory or in HDDs and a network that transfers data necessary to conduct control in the disk subsystem. Usually, the data size of the former data is relatively large, and a sufficient through-put performance to transfer a large amount of data is demanded for the data transfer, and the data size of the latter data is relatively small, and the response performance to end data transfer in a short amount of time is demanded for the data transfer. In the technology described in U.S. Pat. No. 6,647,461, because the networks are divided in relation to the inter-cluster paths, there are effects with respect to the through-put performance and the response performance in relation to data transfer between the clusters.
Below, a disk controller will also be called a storage controller, and a cluster of the disk controller will simply be called a cluster.